package com.xc.ezplan.log.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xc.ezplan.core.base.SearchCondition;
import com.xc.ezplan.log.entity.AdminLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xc.ezplan.log.vo.AdminLogVo;
import org.aspectj.lang.ProceedingJoinPoint;

/**
 * @author lixingchen
 * @date 2022/11/20
 * @description 后台日志接口
 */
public interface AdminLogService extends IService<AdminLog> {

    /**
     * 保存日志
     * @param  username: 操作者
     * @param  browser: 浏览器
     * @param  ip: ip
     * @param  joinPoint: 切面
     * @param  log: 日志实体
     */
    void saveLog(String username, String browser, String ip, ProceedingJoinPoint joinPoint, AdminLog log);

    Object pageQueryLog(SearchCondition searchCondition,Page<AdminLog> page);

    Object queryErrorLogDetail(Long id);

    void deleteAllLog(String logType);

    void deleteLog(Long logId);

    Object pageQueryUserLog(Page<AdminLog> page);
}
